home *** CD-ROM | disk | FTP | other *** search
- Member('DOSLIB')
- Eject('Program Identification Section')
- !
- ! ┌──────────────────────┐
- ! │Program Identification├──────────────────────────────────────────────────────
- ! └──────────────────────┘
- !
- ! Program Name : Colors.Cla
- ! Program Description : Allows Modification of Styles Files
- ! Version : 1.00a
- ! Date : 18 November 1993
- ! Programmer : Trevor G. Leybourne
- !
- ! ┌──────────────────────┐
- ! │Invocation Structure ├─────────────────────────────────────────────────────
- ! └──────────────────────┘
- !
- ! Functions Called : ViewStyles - Views the Styles in the File
- ! : PreviewStyles - Previews the Selected Colors
- ! : GetStyleFile - Prompts User for Filename
- ! : EditColors - Allows Editing of the Colors
- ! : ChangeColors - Allows Selection of New Color
- ! : GetColorDesc - Returns a Description of a Color
- ! : LoadStylesFile - Loads the Styles From Disk
- ! : SaveStylesFile - Saves the Styles to Disk
- !
- ! ┌──────────────────────┐
- ! │Input/Output ├─────────────────────────────────────────────────────
- ! └──────────────────────┘
- !
- ! Datafiles Read : <StylesFile.STY> - Styles File - ASCII Driver
- ! Datafiles Updated : <StylesFile.STY> - Styles File - ASCII Driver
- !
- ! ┌──────────────────────┐
- ! ┌┤Functional Description├────────────────────────────────────────────────────┐
- ! │└──────────────────────┘ │
- ! │ │
- ! │ This program is based on the Clarion CDD Environment Style File Editor. │
- ! │ It allows the user to Load a Style File from disk, change it and write it │
- ! │ back. │
- ! │ │
- ! │ Please Note: The procedure CHANGECOLORS was not written by myself, but │
- ! │ by another author to whom I am unable to give credit to as │
- ! │ I am unaware of this persons name. This source was found │
- ! │ on the public domain. │
- ! │ │
- ! └────────────────────────────────────────────────────────────────────────────┘
- !
- ! ┌──────────────────────┐
- ! ┌┤Modification History ├────────────────────────────────────────────────────┐
- ! │└──────────────────────┘ │
- ! │ Ver. Date Programmer Summary of Changes │
- ! ├────────────────────────────────────────────────────────────────────────────┤
- ! │ │
- ! │ 1.01 18-Nov-1993 Trevor G. Leybourne Original Production Version │
- ! │ │
- ! └────────────────────────────────────────────────────────────────────────────┘
- !
- Map
- PreviewStyles
- EditColors
- ChangeColors(*Byte)
- GetColorDesc(Byte,Byte),String
- DisplayColorDesc(Byte,Byte,Byte)
- LoadStylesFile
- SaveStylesFile
- .
-
- OMIT('╝')
- ╔════════════════════════════════════════════════════════════════════════════╗
- ║ Global Data Declarations ║
- ╚════════════════════════════════════════════════════════════════════════════╝
-
- StyleFileName String(64) ! Filename for Styles File
- StyleSave String(256) ! Temporary Store of Styles Info
- StyleString String(256) ! Style Information
- StyleArray Byte,Dim(256),Over(StyleString) ! Byte Redeclaration of Style
-
- Colors:Queue Queue ! Queue to Hold Style Info
- Colors:Number Byte ! Style Number
- Colors:ColorCode Byte ! Color Code
- Colors:MonoCode Byte ! Mono Code
- Colors:Desc String(50) ! Description of Style
- . ! End of Queue
-
- Comment:Queue Queue ! Queue to Hold Style Comments
- Comment:Desc String(55) ! Description
- . ! End of Queue
-
- StylesFile File,Create,Pre(Sty),Driver('ASCII'),Name(StyleFileName)
- Record Record
- StyleRecord String(80)
- . .
-
- OMIT('╝')
- ╔════════════════════════════════════════════════════════════════════════════╗
- ║ ViewStyles - Displays the Styles on Screen for Possible Editing ║
- ╚════════════════════════════════════════════════════════════════════════════╝
-
- ViewStyles PROCEDURE(Default:FileName)
- ViewColors SCREEN(23,48),SHADOW,EXPAND(9),ZOOM,CUA,COLOR(1)
- !dimensions=25,80,25,80
- !style=D:\CLARION\DEVELOP\DOSLIB\CLARION.STY
- ROW(3,2) PAINT(18,2),COLOR(112)
- ROW(4,46) PAINT(14,2),COLOR(112)
- ROW(17,4) PAINT(1,42),COLOR(112)
- ROW(18,10) PAINT(3,1),COLOR(112)
- ROW(18,47) PAINT(3,1),COLOR(112)
- ROW(20,4) PAINT(1,6),COLOR(112)
- ROW(20,11) PAINT(1,36),COLOR(112)
- ROW(21,2) PAINT(2,1),COLOR(112)
- ROW(21,24) PAINT(1,2),COLOR(112)
- ROW(1,1) STRING('█{16}'),COLOR(3)
- COL(17) STRING('Edit Styles File'),COLOR(31)
- COL(33) STRING('█{16}'),COLOR(3)
- ROW(18,4) STRING('Color:'),COLOR(112)
- ROW(19,4) STRING('Mono :'),COLOR(112)
- ROW(23,1) STRING('█▄{46}█'),COLOR(3)
- REPEAT(21)
- ROW(2,1) STRING('█'),COLOR(3)
- ROW(2,48) STRING('█'),COLOR(3)
- .
- ROW(5,4) LIST(12,42),FROM(Colors:Desc),HVSCROLL,USE(?ViewColors:ListBox),IMM,COLOR(21,22,68)
- DispFileName ROW(3,4) STRING(@s42),COLOR(8)
- ROW(21,4) BUTTON(' &Ok |'),SHADOW,KEY(CtrlEnter),USE(?ViewColors:Ok),COLOR(17,18,39,19,20)
- COL(15) BUTTON(' &Cancel |'),SHADOW,KEY(EscKey),USE(?ViewColors:Cancel),COLOR(17,18,39,19,20)
- COL(26) BUTTON(' &Change |'),SHADOW,KEY(EnterKey),USE(?ViewColors:Change),COLOR(17,18,39,19,20)
- COL(37) BUTTON(' &Preview '),SHADOW,KEY(AltP),USE(?ViewColors:Preview),COLOR(17,18,39,19,20)
- ViewColors:Color ROW(18,11) STRING(@s35),COLOR(1)
- ViewColors:Mono ROW(19,11) STRING(@s35),COLOR(1)
- .
-
- Code
- If ~Omitted(1) then StyleFileName = Default:Filename.
- If Clip(StyleFileName) = '' then
- StyleFileName = GetFileDetails('CLARION.STY','Style File','*.STY')
- .
- If Clip(StyleFileName) = '' Then Return.
- GetStyles(StyleFileName)
- LoadStylesFile()
-
- StyleString = Styles()
- SelectedStyle# = 1
- Open(ViewColors)
- SetMouse(1,1)
-
- DispFileName = Center(Left(Clip(StyleFileName)),Size(DispFileName))
- Loop
- Case Selected()
- Of ?ViewColors:ListBox
- Get(Colors:Queue,SelectedStyle#)
- DisplayColorDesc(Row(ViewColors:Color),Col(ViewColors:Color),Colors:ColorCode)
- DisplayColorDesc(Row(ViewColors:Mono) ,Col(ViewColors:Mono) ,Colors:MonoCode)
- .
-
- Accept
- Case Field()
- Of ?ViewColors:ListBox
- If Keycode() = MouseLeft2 then Press(EnterKey).
- SelectedStyle# = Choice()
-
- Of ?ViewColors:Ok
- SaveStylesFile()
- Break
-
- Of ?ViewColors:Cancel
- Break
-
- Of ?ViewColors:Change
- SelectedStyle# = Choice()
- Get(Colors:Queue,SelectedStyle#)
- If Error() then Stop('Error:'&Error()).
- EditColors()
- Close(ViewColors)
- Open(ViewColors)
- Select(?ViewColors:ListBox,SelectedStyle#)
-
- Of ?ViewColors:Preview
- PreviewStyles()
- . .
- GetStyles(StyleFileName)
- Return
-
- OMIT('╝')
- ╔════════════════════════════════════════════════════════════════════════════╗
- ║ PreviewStyle - Shows the User a Preview of the Select Styles ║
- ╚════════════════════════════════════════════════════════════════════════════╝
-
- PreviewStyles PROCEDURE
-
- Preview:Entry String('Data Entry Field')
- Preview:Disabled String('Disabled Entry Field')
- Preview:Check1 Byte
- Preview:Check2 Byte
- Preview:Radio1 String(1)
-
- PreviewPullDown PULLDOWN,COLOR(44,45,49,46,52),HALF(51),SHADOW
- !style=CLARION.STY
- MENU('Sample Menu'),COLOR(47,48,49,50,51)
- ITEM('Menu Item 1'),USE(?Preview:Item_1)
- ITEM('Menu &Item 2'),USE(?Preview:Item_2)
- .
- MENU('Exit'),USE(?Preview:Exit_PD),COLOR(47,48,49,50,51)
- .
- .
-
- PreviewScreen SCREEN(16,53),SHADOW,ZOOM,CUA,COLOR(1)
- !dimensions=25,80,25,80
- !style=D:\CLARION\DEVELOP\DOSLIB\CLARION.STY
- ROW(1,1) STRING('█{17}'),COLOR(3)
- COL(18) STRING('Sample Screen Title'),COLOR(2)
- COL(37) STRING('█{17}'),COLOR(3)
- ROW(16,1) STRING('█▄{51}█'),COLOR(3)
- REPEAT(14)
- ROW(2,1) STRING('█'),COLOR(3)
- ROW(2,53) STRING('█'),COLOR(3)
- .
- ROW(3,6) PROMPT('Sample Prompt:'),COLOR(4,5,40,6,7)
- COL(21) ENTRY(@s30),USE(Preview:Entry),COLOR(8,9,38)
- ROW(4,4) PROMPT('Disabled Prompt:'),COLOR(4,5,40,6,7)
- COL(21) ENTRY(@s30),USE(Preview:Disabled),COLOR(8,9,38)
- ROW(7,4) CHECK('Sample Checkbox '),USE(Preview:Check1),COLOR(15,16,37,41,42)
- ROW(8,4) CHECK('Disabled Checkbox '),USE(Preview:Check2),COLOR(15,16,37,41,42)
- ROW(10,4) PROMPT('Radio Prompt:'),COLOR(4,5,40,6,7)
- OPTION,USE(Preview:Radio1)
- ROW(11,4) RADIO('First Radio Button '),COLOR(15,16,37,41,42)
- ROW(12,4) RADIO('Second Radio Button '),COLOR(15,16,37,41,42)
- .
- ROW(6,31) PROMPT('Sample ListBox:'),COLOR(4,5,40,6,7)
- ROW(8,31) LIST(5,20),FROM(Colors:Desc),HVSCROLL,USE(?LIST2),HIDE,COLOR(21,22,68)
- ROW(14,5) BUTTON(' Normal &Button '),SHADOW,USE(?Preview:Button1),COLOR(17,18,39,19,20)
- COL(23) BUTTON(' Disabled &Button '),SHADOW,USE(?Preview:Button2),COLOR(17,18,39,19,20)
- COL(43) BUTTON(' E&xit '),SHADOW,KEY(EscKey),USE(?Preview:Exit),COLOR(17,18,39,19,20)
- .
- Code
- Open(PreviewPullDown)
- Open(PreviewScreen)
- Disable(?Preview:Check2)
- Disable(?Preview:Disabled)
- Disable(?Preview:Button2)
- Disable(?Preview:Item_2)
- Loop
- Accept
- Case Field()
- Of ?Preview:Exit_PD orof ?Preview:Exit
- Close(PreviewScreen)
- Close(PreviewPullDown)
- Break
- . .
- Return
-
- OMIT('╝')
- ╔════════════════════════════════════════════════════════════════════════════╗
- ║ EditColors - Shows the Color/Mono Colors Selected and Allows Change ║
- ╚════════════════════════════════════════════════════════════════════════════╝
-
- EditColors PROCEDURE
- EditColors SCREEN(11,65),SHADOW,ZOOM,CUA,COLOR(1)
- !dimensions=25,80,25,80
- !style=D:\CLARION\DEVELOP\DOSLIB\CLARION.STY
- ROW(2,2) PAINT(1,26),COLOR(112)
- ROW(2,38) PAINT(1,27),COLOR(112)
- ROW(3,2) PAINT(8,2),COLOR(112)
- ROW(3,20) PAINT(2,1),COLOR(112)
- ROW(3,56) PAINT(1,5),COLOR(126)
- ROW(3,61) PAINT(8,4),COLOR(112)
- ROW(4,7) PAINT(1,10),COLOR(112)
- ROW(4,56) PAINT(1,5),COLOR(112)
- ROW(5,4) PAINT(6,3),COLOR(112)
- ROW(5,21) PAINT(4,1),COLOR(112)
- ROW(5,58) PAINT(6,3),COLOR(112)
- ROW(6,20) PAINT(1,1),COLOR(112)
- ROW(6,22) PAINT(1,35),COLOR(112)
- ROW(8,20) PAINT(3,1),COLOR(112)
- ROW(8,22) PAINT(1,36),COLOR(112)
- ROW(9,7) PAINT(2,13),COLOR(112)
- ROW(9,30) PAINT(2,8),COLOR(112)
- ROW(9,47) PAINT(2,11),COLOR(112)
- ROW(1,1) STRING('█{27}'),COLOR(3)
- COL(28) STRING('Edit Style'),COLOR(31)
- COL(38) STRING('█{28}'),COLOR(3)
- ROW(11,1) STRING('█▄{63}█'),COLOR(3)
- REPEAT(2),EVERY(2)
- ROW(5,20) STRING(':'),COLOR(112)
- .
- REPEAT(9)
- ROW(2,1) STRING('█'),COLOR(3)
- ROW(2,65) STRING('█'),COLOR(3)
- .
- ROW(3,17) ENTRY(@n_3),USE(Colors:Number),SKIP,COLOR(8,9,38)
- COL(4) PROMPT('Style Code : '),COLOR(4,5,40,6,7)
- COL(21) ENTRY(@s35),USE(Colors:Desc),COLOR(8,9,38)
- ROW(5,7) BUTTON(' Co&lor Code '),SHADOW,KEY(AltL),USE(?EditColors:SelectColor),COLOR(17,18,39,19,20)
- ROW(7,7) BUTTON(' &Monochrome '),SHADOW,KEY(AltM),USE(?EditColors:SelectMono),COLOR(17,18,39,19,20)
- ROW(9,21) BUTTON(' &Ok '),SHADOW,KEY(EnterKey),USE(?EditColors:Ok),COLOR(17,18,39,19,20)
- COL(38) BUTTON(' &Cancel '),SHADOW,KEY(EscKey),USE(?EditColors:Cancel),COLOR(17,18,39,19,20)
- EditColors:Color ROW(5,22) STRING(@s35),COLOR(1)
- EditColors:Mono ROW(7,22) STRING(@s35),COLOR(1)
- .
-
- Code
- Open(EditColors)
- Disable(?Colors:Number)
- StyleSave = Styles()
- Select(?EditColors:Ok)
- Display
-
- Loop
- DisplayColorDesc(Row(EditColors:Color),Col(EditColors:Color),Colors:ColorCode)
- DisplayColorDesc(Row(EditColors:Mono) ,Col(EditColors:Mono) ,Colors:MonoCode)
- Accept
- Case Field()
- Of ?Colors:Desc
- Of ?EditColors:SelectColor
- ChangeColors(Colors:ColorCode)
- Of ?EditColors:SelectMono
- ChangeColors(Colors:MonoCode)
- Of ?EditColors:Ok
- StyleArray[Colors:Number+1] = Colors:ColorCode
- SetStyles(StyleString)
- Put(Colors:Queue)
- If Error() then Stop('Error Updating Colors Table').
- Break
- Of ?EditColors:Cancel
- SetStyles(StyleSave)
- Break
- . .
- Return
-
- OMIT('╝')
- ╔════════════════════════════════════════════════════════════════════════════╗
- ║ ChangeColors - Allows the User to Actually Change the Specified Color ║
- ╚════════════════════════════════════════════════════════════════════════════╝
-
- ChangeColors PROCEDURE(Change:Color)
-
- Ndx SHORT
- ColorMono STRING(1)
- EnhanceBlink BYTE
-
- SelectColor SCREEN(18,73),CENTER,SHADOW,ZOOM,CUA,COLOR(1)
- !dimensions=25,80,25,80
- !style=D:\CLARION\DEVELOP\DOSLIB\CLARION.STY
- ROW(1,1) STRING('█{30}'),COLOR(3)
- COL(31) STRING('Select Color'),COLOR(2)
- COL(43) STRING('█{31}'),COLOR(3)
- ROW(12,2) STRING('─{71}')
- ROW(18,1) STRING('█▄{71}█'),COLOR(3)
- REPEAT(16)
- ROW(2,1) STRING('█'),COLOR(3)
- ROW(2,73) STRING('█'),COLOR(3)
- .
- ROW(4,4) ENTRY(@p p),USE(?ColorChart),COLOR(8,9,38)
- REPEAT(4,33),EVERY(2,2),INDEX(ndx)
- ColorDot ROW(4,4) STRING(@s3),COLOR(1)
- .
- ShowColor ROW(14,3) STRING(@S35),COLOR(1)
- COL(41) CHECK('&Enhanced/Blink Background'),USE(EnhanceBlink),COLOR(15,16,37,41,42)
- ROW(16,16) BUTTON(' &Ok '),SHADOW,KEY(EnterKey),USE(?Ok),COLOR(17,18,39,19,20)
- COL(48) BUTTON(' &Cancel '),SHADOW,KEY(EscKey),USE(?Cancel),COLOR(17,18,39,19,20)
- .
-
- TRNSFORM_TBL GROUP !THIS TABLE TRANSFORMS
- STRING('<001,005,009,013,017,021,025,029,033,037,041,045,049,053,057,061>') ! COLUMN WITHIN ROW
- STRING('<002,006,010,014,018,022,026,030,034,038,042,046,050,054,058,062>') ! COLUMN WITHIN ROW
- STRING('<003,007,011,015,019,023,027,031,035,039,043,047,051,055,059,063>') ! COLUMN WITHIN ROW
- STRING('<004,008,012,016,020,024,028,032,036,040,044,048,052,056,060,064>') ! COLUMN WITHIN ROW
- STRING('<069,073,077,081,085,089,093,097,101,105,109,113,117,121,125,129>') ! COLUMN WITHIN ROW
- STRING('<070,074,078,082,086,090,094,098,102,106,110,114,118,122,126,130>') ! COLUMN WITHIN ROW
- STRING('<071,075,079,083,087,091,095,099,103,107,111,115,119,123,127,131>') ! COLUMN WITHIN ROW
- STRING('<072,076,080,084,088,092,096,100,104,108,112,116,120,124,128,132>')! COLUMN WITHIN RO W
- .
- TRANSFORM BYTE,DIM(128),OVER(TRNSFORM_TBL) !REDECLARE AS A BYTE ARRAY
- SaveStyles String(256)
-
- CODE
- OPEN(SelectColor)
- SaveStyles = STYLES()
- GetStyles('')
- SETNOBLINK
- SETCURSOR
- DISPLAY
- Ndx = 1
- STROW# = ROW(COLORDOT)
- STCOL# = COL(COLORDOT)
- Ndx = TransForm[128]
- ENDROW# = ROW(ColorDot)
- ENDCOL# = COL(ColorDot) + 1
- LOOP I# = 1 TO SIZE(Transform[])
- Ndx = TransForm[I#]
- SETCOLOR(I# - 1)
- ColorDot = ' <254> '
- .
- SETCOLOR
- Ndx = TransForm[Change:Color+1]
- DO ShowCursor
- LOOP
- ASK
- CASE KEYCODE()
- OF MOUSELEFT
- MOUSER# = MOUSEROW()
- MOUSEC# = MOUSECOL()
- IF ~INRANGE(MOUSER#,STROW#,ENDROW#) OR |
- ~INRANGE(MOUSEC#,STCOL#,ENDCOL#)
- IF Mouser# = ROW(?EnhanceBlink) AND |
- INRANGE(Mousec#,COL(?EnhanceBlink), |
- COL(?EnhanceBlink)+14)
- SELECT(?EnhanceBlink)
- DO ProcessFields
- IF Complete# THEN BREAK.
- .
- IF Mouser# = ROW(?Ok) AND |
- INRANGE(Mousec#,COL(?Ok), |
- COL(?Ok)+COLS(?Ok))
- SELECT(?Ok)
- DO ProcessFields
- IF Complete# THEN BREAK.
- .
- IF Mouser# = ROW(?Cancel) AND |
- INRANGE(Mousec#,COL(?Cancel), |
- COL(?Cancel)+COLS(?Cancel))
- SELECT(?Cancel)
- DO ProcessFields
- IF Complete# THEN BREAK.
- .
-
- CYCLE
- .
- LOOP I# = 1 TO 5
- IF LOOK(MOUSER#,MOUSEC#,@S1) = '■'
- DO BlankCursor
- BREAK
- .
- EXECUTE I#
- MOUSEC# -= 1
- BEGIN
- MOUSEC# += 1
- MOUSER# -= 1
- END
- BEGIN
- MOUSER# += 1
- MOUSEC# += 1
- END
- BEGIN
- MOUSER# += 1
- MOUSEC# -= 1
- END
- . .
- IF I# = 6 THEN CYCLE.
- IF MOUSEC# < 40
- NDX = TRANSFORM[((MOUSEC# - STCOL#) / 2) + ((MOUSER# - STROW#) * 8) + 1]
- ELSE
- NDX = TRANSFORM[((MOUSEC# - STCOL#) / 2) + ((MOUSER# - STROW#) * 8) + 48]
- .
- DO SHOWCURSOR
- OF UpKey
- DO BlankCursor
- IF ~((NDX - 1) % 4) OR NDX = 1
- NDX += 3
- ELSE
- NDX -= 1
- .
- DO ShowCursor
- OF DOWNKEY
- DO BlankCursor
- IF ~NDX % 4
- NDX -= 3
- ELSE
- NDX += 1
- .
- DO ShowCursor
- OF LEFTKEY
- DO BlankCursor
- IF Ndx <= 4 THEN NDX += 128 ELSE NDX -= 4.
- IF INRANGE(NDX,65,68) THEN NDX -= 4.
- DO ShowCursor
- OF RIGHTKEY
- DO BlankCursor
- IF NDX >= 129 THEN NDX -= 128 ELSE NDX += 4.
- IF INRANGE(NDX,65,68) THEN NDX += 4.
- DO ShowCursor
- OF HomeKey
- DO BlankCursor
- EXECUTE (Ndx % 4)+1
- Ndx = 4
- Ndx = 1
- Ndx = 2
- Ndx = 3
- .
- DO ShowCursor
- OF EndKey
- DO BlankCursor
- EXECUTE (Ndx % 4)+1
- Ndx = 132
- Ndx = 129
- Ndx = 130
- Ndx = 131
- .
- DO ShowCursor
- OF ShftTab
- SELECT(?Cancel)
- DO ProcessFields
- IF Complete# THEN BREAK.
- OF TabKey
- SELECT(?Ok)
- DO ProcessFields
- IF Complete# THEN BREAK.
- OF EnterKey OROF AltO
- PRESS(EnterKey)
- DO ProcessFields
- IF Complete# THEN BREAK.
- OF EscKey OROF AltC
- PRESS(EscKey)
- DO ProcessFields
- IF Complete# THEN BREAK.
- OF AltE
- SELECT(?EnhanceBlink)
- DO ProcessFields
- IF Complete# THEN BREAK.
- .
- IF Complete# THEN BREAK.
- .
-
- BlankCursor ROUTINE
-
- ForeColor# = FORECOLOR(ROW(Colordot),COL(Colordot)+1)
- BackColor# = BACKCOLOR(ROW(Colordot),COL(Colordot)+1)
- CurrentColor# = MAKECOLOR(ForeColor#,BackColor#)
- IF ForeColor# = BackColor#
- SETCOLOR(15+BackColor# * 16)
- ELSE
- SETCOLOR(CurrentColor#)
- .
- BLANK(ROW(ColorDot),COL(ColorDot),1,1)
- BLANK(ROW(ColorDot),COL(ColorDot)+2,1,1)
- SETCOLOR
- BLANK(ROW(ColorDot)-1,COL(ColorDot),1,3)
- BLANK(ROW(ColorDot)+1,COL(ColorDot),1,3)
-
- ShowCursor ROUTINE
- SETCOLOR(112)
- SHOW(ROW(ColorDot)-1,COL(ColorDot),'┌─┐')
- SHOW(ROW(ColorDot),COL(ColorDot),'│')
- SHOW(ROW(ColorDot),COL(ColorDot)+2,'│')
- SHOW(ROW(ColorDot)+1,COL(ColorDot),'└─┘')
- ForeColor# = FORECOLOR(ROW(Colordot),COL(Colordot)+1)
- BackColor# = BACKCOLOR(ROW(Colordot),COL(Colordot)+1)
- CurrentColor# = MAKECOLOR(ForeColor#,BackColor#)
- IF ForeColor# = BackColor#
- SETCOLOR(15+BackColor# * 16)
- ELSE
- SETCOLOR(CurrentColor#)
- .
- DisplayColorDesc(Row(ShowColor),Col(ShowColor),CurrentColor#)
-
- ProcessFields ROUTINE
-
- LOOP
- CASE SELECTED()
- OF ?EnhanceBlink
- SaveNdx# = Ndx
- IF EnhanceBlink
- LOOP I# = 1 TO SIZE(Transform[])
- Ndx = TransForm[I#]
- SETCOLOR(I# + 127)
- ColorDot = ' <254> '
- .
- ELSE
- LOOP I# = 1 TO SIZE(Transform[])
- Ndx = TransForm[I#]
- SETCOLOR(I# - 1)
- ColorDot = ' <254> '
- . .
- SETCOLOR
- Ndx = SaveNdx#
- DO ShowCursor
- .
- ACCEPT
- IF KEYCODE() = MouseLeft OR KEYCODE() = MouseLeft2
- MOUSER# = MOUSEROW()
- MOUSEC# = MOUSECOL()
- IF INRANGE(MOUSER#,STROW#,ENDROW#) AND |
- INRANGE(MOUSEC#,STCOL#,ENDCOL#)
- SETCURSOR
- EXIT
- . .
- CASE FIELD()
- OF ?ColorChart
- EXIT
- OF ?OK
- Change:Color = CurrentColor#
- SETSTYLES(SaveStyles)
- Complete# = 1
- BREAK
- OF ?Cancel
- SETSTYLES(SaveStyles)
- Complete# = 1
- BREAK
- . .
- CLOSE(SelectColor)
- EXIT
- OMIT('╝')
- ╔════════════════════════════════════════════════════════════════════════════╗
- ║ LoadStylesFile - Loads the Styles File from Disk to a Table ║
- ╚════════════════════════════════════════════════════════════════════════════╝
-
- LoadStylesFile PROCEDURE
-
- Code
- Free(Colors:Queue)
- Free(Colors:Queue)
-
- Open(StylesFile)
- If Error() then Stop('Error Openning File:'&StyleFileName).
-
- Set(StylesFile,1)
- Loop
- Next(StylesFile)
- If Error() then Break.
-
- If Sub(Sty:StyleRecord,1,1) = '!' or |
- Sub(Sty:StyleRecord,1,1) = '*' Then
- Comment:Desc = Sty:StyleRecord
- Add(Comment:Queue)
- Else
- Position# = 1
- FindComma# = Instring(',',Sty:StyleRecord,1,Position#)
- Colors:Number = Sub(Sty:StyleRecord,Position#,FindComma#-Position#)
-
- Position# = FindComma# + 1
- FindComma# = Instring(',',Sty:StyleRecord,1,Position#)
- Colors:ColorCode = Sub(Sty:StyleRecord,Position#,FindComma#-Position#)
-
- Position# = FindComma# + 1
- FindComma# = Instring(',',Sty:StyleRecord,1,Position#)
- Colors:MonoCode = Sub(Sty:StyleRecord,Position#,FindComma#-Position#)
-
- Position# = FindComma# + 1
- FindComma# = Len(Sty:StyleRecord)-FindComma#
- Colors:Desc = Sub(Sty:StyleRecord,Position#,FindComma#-Position#)
-
- If Clip(Colors:Desc) <> '' Then
- Add(Colors:Queue)
- . . .
- Close(StylesFile)
- Return
-
- OMIT('╝')
- ╔════════════════════════════════════════════════════════════════════════════╗
- ║ SaveStylesFile - Writes back the Style File from a Table ║
- ╚════════════════════════════════════════════════════════════════════════════╝
-
- SaveStylesFile PROCEDURE
-
- Code
-
- Open(StylesFile)
- If Error() then Stop('Error Openning File:'&StyleFileName).
-
- Empty(StylesFile)
- If Error() then Stop('Error Emptying File:'&StyleFileName).
- !
- ! Write out any Main Comments to Start With
- ! ------------------------------------------------------------
- !
- Loop Ptr# = 1 to Records(Comment:Queue)
- Get(Comment:Queue,Ptr#)
- If Sub(Comment:Desc,1,1) = '!' then
- Sty:StyleRecord = Comment:Desc
- Add(StylesFile)
- . .
- !
- ! Write out the Styles Information
- ! ------------------------------------------------------------
- !
- Loop Ptr# = 1 to Records(Colors:Queue)
- Get(Colors:Queue,Ptr#)
- Sty:StyleRecord = Colors:Number&','&Colors:ColorCode&','&Colors:MonoCode&','&Colors:Desc
- Add(StylesFile)
- .
- !
- ! Write out any Default Comments to End With
- ! ------------------------------------------------------------
- !
- Loop Ptr# = 1 to Records(Comment:Queue)
- Get(Comment:Queue,Ptr#)
- If Sub(Comment:Desc,1,1) = '*' then
- Sty:StyleRecord = Comment:Desc
- Add(StylesFile)
- . .
- Close(StylesFile)
- Free(Colors:Queue)
- Free(Comment:Queue)
- GetStyles(StyleFileName)
- Return
- OMIT('╝')
- ╔════════════════════════════════════════════════════════════════════════════╗
- ║ GetColorsDesc - Returns a String Value for the COlor Description ║
- ╚════════════════════════════════════════════════════════════════════════════╝
-
- GetColorDesc Function(Color:Foreground,Color:Background)
- Color:Names GROUP
- STRING('Black Blue Green Cyan Red ')
- STRING('Magenta Brown White Gray LightBlue ')
- STRING('LightGreen LightCyan LightRed LightMagentaYellow ')
- STRING('BrightWhite ')
- .
- Color:Array String(12),Dim(16),Over(Color:Names)
-
- CODE
- Color:Foreground += 1
- Color:Background += 1
- RETURN(Clip(Color:Array[Color:ForeGround])&' on '&Color:Array[Color:BackGround])
-
- OMIT('╝')
- ╔════════════════════════════════════════════════════════════════════════════╗
- ║ DisplayColorDesc - Displays at the Specified Location a Color Description ║
- ╚════════════════════════════════════════════════════════════════════════════╝
-
- DisplayColorDesc PROCEDURE(Location:Row,Location:Col,Location:Color)
-
- Code
- SetColor(Location:Color)
- Show(Location:Row,Location:Col,' '&Format(Location:Color,@n_3),@s4)
- ForeGround# = ForeColor(Location:Row,Location:Col)
- BackGround# = BackColor(Location:Row,Location:Col)
- Show(Location:Row,Location:Col+4,' '&GetColorDesc(ForeGround#,BackGround#),@s31)
- SetColor
- Return
-